1

ES6入门笔记(一)

安装babel

由于浏览器对ES6的支持还不是很好,编写ES6代码前我们要安装一个babel工具将ES6代码编译成ES5代码,用如下命令安装babel:

npm install -g babel-core       //安装babel核心库
npm install -g babel-cli       //安装babel命令行工具

安装成功后,我们将a.js的ES6代码编译为b.js的ES5代码的命令为:

babel a.js -o b.js

这里要注意由于babel最新版本还有对jsx,ES7等规范的支持,所以还要在当前目录新建一个.babelrc文件来指定当前使用JS的候选版本,其内容为:

{
    "presets": ["es2015"]        //指定当前JS版本为es2015
}

区块作用域let与常量const

ES6里用let声明具有区块作用域的变量,什么是区块作用域,学习过C,C++,Java等语言的同学都知道,如循环、if/else等、或用花括号代码块里声明的变量是具有作用域的,超出该范围即无法使用,js一直没有这个概念,ES6补上了这个缺口。

用const声明的常量无法在后面的代码中改值。

Spread表达式

ES6里还有一个很方便的就是spread表达式,举个例子:

function cook(dessert, ...drink) {
    let temp = dessert;
    for (let i = 0; i < drink.length; ++i) {
        temp += ',' + drink[i];
    }
    console.log(temp);
}

cook('cake', 'juice', 'cola');

// 运行结果为    cake,juice,cola

...后声明的drink里以数组的形式存放了函数的剩余参数,是不是很方便。


flyer_dev
413 声望45 粉丝

Front-End Developer